﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;


namespace BLL
{
    //Modulo 1: Centro Medico
    
    public class BLL_CentroMedico
    {
        public string nombre { get; set; }
        public string lema { get; set; }
        public string objetivo { get; set; }
        public string mision { get; set; }
        public string vision { get; set; }
        public string direccion { get; set; }
        public string telefono { get; set; }
        public string mail { get; set; }
        public string historia { get; set; }
        public int cp { get; set; }
      }

    public class BLL_Valor
    {   

        public int id { get; set; }
        public int idCentroMedico { get; set; }
        public string nombre { get; set; }
        public string descripcion { get; set; }

        public BLL_Valor()
        { }

        public BLL_Valor(string nombre, String descripcion)
        {
            this.nombre = nombre;
            this.descripcion = descripcion;
           }

        //private DataTable 
      }

    public class BLL_Novedad
    {
        public int id { get; set; }
        public DateTime fechaAlta { get; set; }
        public string cuerpo { get; set; }
        public bool habilitado { get; set; }
     }

    //Modulo 2:  Profesionales

    public class BLL_Especialidad
    {
        public int id { get; set; }
        public string nombre { get; set; }
        public string descripcion { get; set; }
        public bool habilitado { get; set; }
    }

    public class BLL_Profesional
    {
      
        public int id { get; set; }
        public string apellido { get; set; }
        public string nombre { get; set; }
        public string titulo { get; set; }
        public string telefono { get; set; }
        public string email { get; set; }
        public string foto { get; set; }
        public string perfil { get; set; }
        public string extracto { get; set; }
        //public int estadoId { get; set; }
        /* se cambian los id por los objetos. se asume que un profesional puede
         tener una Especialidad, y una especialidad puede ser usada por varios profesionales(1..*) */
        public BLL_EstadoProfesional estado { get; set; }
        public BLL_Especialidad especialidad { get; set; }
        

        private void selectAll()
        {

        }

        private void insert()
        {
            //DAL.DAL_Profesional.insertar(this);
        }


        /*public bool insertDatoAmbiente(string codRecurso)
        {
            LoadPartner_CapaDAL.DAL_Datos_Ambiente objDAL = new LoadPartner_CapaDAL.DAL_Datos_Ambiente();
            return objDAL.insertDatoAmbiente(this, codRecurso);
        }*/
    }

    /* se elimina la tabla ProfesionalxEspecialidad. Se asume que un profesional puede
        tener una Especialidad, y una especialidad puede ser usada por varios profesionales(1..*) */
       
    //public class BLL_ProfesionalxEspecialidad
    //{
    //    public int profesionalId { get; set; }
    //    public int especialidadId { get; set; }
    //    public bool habilitado { get; set; }
    //}


    public class BLL_EstadoProfesional
    {
        public int id { get; set; }
        public string descripcion { get; set; }
      }

    public class BLL_HistorialEstadoProfesional
    {
        public int id { get; set; }
        /* se cambian los id por los objetos.*/
        public BLL_EstadoProfesional estadoProfesional { get; set; }
        public BLL_Profesional profesional { get; set; }
        //public int idProfesional { get; set; }
        //public int idEstadoProfesional { get; set; }
        public List<BLL_Horario> horarios;
        public DateTime fecha { get; set; }
    }

    public class BLL_Horario
    {
        public int id { get; set; }
        /* se cambian los id por los objetos. Mejora la Performance en la recuperacion*/
        public BLL_Profesional profesional { get; set; }
        //public BLL_DiaAtencion dia { get; set; }
        //public BLL_Semana semana { get; set; }
        
        //public int idProfesional { get; set; }
        public string dia { get; set; }
        public string Semana { get; set; }
        public int semanaNro { get; set; }
        public string turno { get; set; }
        public string desde { get; set; }
        public string hasta { get; set; }
        public Boolean habilitado { get; set; }
    }

    public class BLL_DiaAtencion
    {
        public int id { get; set; }
        public string dia { get; set; }
    }

    public class BLL_Semana
    {
        public int id { get; set; }
        public string posicion { get; set; }
    }

    //Modulo 3: Pacientes
    
   

    public class BLL_ObraSocial
    {
        public int id { get; set; }
        public string nombre { get; set; }
        public bool habilitada { get; set; }
    }

    
  /*  public class BLL_PacientexObraSocial
    {
        public int profesionalId { get; set; }
        public int obraSocialId { get; set; }
        public int estadoOSId { get; set; }
        public bool habilitada { get; set; }
    }*/

    public class BLL_Paciente
    {
        public int id { get; set; }
        public string apellido { get; set; }
        public string nombre { get; set; }
        public DateTime fechaNacimiento { get; set; }
        public char sexo { get; set; }
        public string domicilio { get; set; }
        public string localidad { get; set; }
        public string provincia { get; set; }
        public string telefono { get; set; }
        public string email { get; set; }
        /* se cambian los id por los objetos. Mejora la Performance en la recuperacion*/
        public int idObraSocial { get; set; }
        //public int idObraSocial { get; set; }
        public string nroAfiliado { get; set; }

        /*public bool insertDatoAmbiente(string codRecurso)
        {
            LoadPartner_CapaDAL.DAL_Datos_Ambiente objDAL = new LoadPartner_CapaDAL.DAL_Datos_Ambiente();
            return objDAL.insertDatoAmbiente(this, codRecurso);
        }*/
    }


    public class BLL_HistoriaClinica
    {
        public int id { get; set; }
        /* se cambian los id por los objetos. Mejora la Performance en la recuperacion*/
        public BLL_Paciente paciente { get; set; }
        //public int idPaciente { get; set; }
        public DateTime fechaAlta { get; set; }
     }

    public class BLL_DetalleHistoriaClinica
    {
        public int id { get; set; }
        /* se cambian los id por los objetos. Mejora la Performance en la recuperacion*/
        public BLL_HistoriaClinica historiaClinica { get; set; }
        public BLL_Profesional profesional { get; set; }
       // public int idHistoriaClinica { get; set; }
       // public int idProfesional { get; set; }
        public DateTime fecha { get; set; }
        public string sintomas { get; set; }
        public string diagnostico { get; set; }
        public string tratamiento { get; set; }
        public string observacion { get; set; }
    }

    //Modulo 4: Seguridad

    /* AUN NO se cambian los id por los objetos. Pensar la mejor forma de tratar la seguridad*/
    public class BLL_Usuario
    {
        public string nombre { get; set; }
        public string contraseña { get; set; }
        public string nombrePerfil { get; set; }
    }

    public class BLL_Perfil
    {
        public string nombre { get; set; }
        public string descripcion { get; set; }
    }

    public class BLL_Seccion
    {
        public string nombre { get; set; }
        public string Cuerpo { get; set; }
    }

    public class BLL_SeccionXPerfil
    {
        public string nombrePerfil { get; set; }
        public string nombreSeccion { get; set; }
    }
}
